首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Nest.js 实战系列

    Nest.js 实战 (十二):优雅地使用事件发布订阅模块 Event Emitter

    本篇文章将详细介绍 @nestjs/event-emitter 在 Nest.js 应用如何使用。 @nestjs/event-emitter 是什么? @nestjs/event-emitter 是一个 Nest.js 的社区模块,基于强大的 eventemitter2 库,它提供了事件发布/订阅的功能,使得在 Nest.js 应用程序中实现事件驱动架构变得简单 具体使用 1、 安装依赖 pnpm add @nestjs/event-emitter 2、 初始化模块 在主模块 AppModule 中,导入 EventEmitterModule 并注册它 import 总结 在 Nest.js 中集成 @nestjs/event-emitter 模块,可以极大地提升应用程序的事件驱动能力。 总体而言,@nestjs/event-emitter 是构建现代、响应迅速且具有高度解耦特性的 Nest.js 应用程序的理想选择。

    75510编辑于 2025-08-15
  • 来自专栏HarmonyOS NEXT实战

    HarmonyOS NEXT实战:使用Emitter进行线程间通信

    let event: emitter.InnerEvent = { eventId: 1 }; // 定义一个事件的回调处理函数,当收到对应的事件后执行回调函数 (event, callback); }) Text(this.onResult) Button('Emitter.once').onClick(() => { let event: emitter.InnerEvent = { eventId: 1 }; // 定义一个事件的回调处理函数,当收到对应的事件后执行回调函数 let event: emitter.InnerEvent = { eventId: 1, priority: emitter.EventPriority.LOW emitter.emit(event, eventData); }) Text(this.emitResult) Button('Emitter.off').onClick

    27410编辑于 2025-06-27
  • 来自专栏大道七哥

    javascript坐标:event.x、event.clientX、event.offsetX、event.screenX 用法

    event.clientX返回事件发生时,mouse相对于客户窗口的X坐标,event.X也一样。 :"+window.event.y+"nevent.clientX:"+event.clientX+"nevent.clientY:"+event.clientY+"nevent.offsetX:"+event.offsetX +"nevent.offsetY:"+event.offsetY+"nwindow.event.screenX:"+window.event.screenX+"nwindow.event.screenY relative event.clientX不变 而event.X返回事件对象的相对于本体的坐标 event对象详解 ICOOE 2000.3.31 http://www.hzhuti.com event代表事件的状态,例如事件发生的的元素、鼠标的位置等等,event对象只在事件过程中才有效。

    2.1K30发布于 2019-09-10
  • 来自专栏快乐阿超

    event

    ——阿列克谢耶维奇 vue官方文档有介绍$event 我们在开发中经常这么写来获取事件

    点我触发
    console.log('e: ', e); console.log('name: ', name); } } 然后调用一下 可以看到打印出了事件,如果我们需要传入其他参数,就可以使用$event
    点我触发
    再次触发:

    68310编辑于 2022-08-17
  • harmony-utils之EmitterUtil,Emitter工具类

    { AppUtil.init(this.context); }API方法与使用post 发送事件EmitterUtil.post<string>("S123456", "哈哈哈哈哈哈哈哈哈哈", emitter.EventPriority.LOW EmitterUtil.getListenerCount("O123456");LogUtil.error(`获取指定事件的订阅数:${count}`);on 订阅事件,支持Callbackprivate callback: Callback<emitter.GenericEventData (txtStr);};EmitterUtil.on<string>(100, callback);once 单次订阅指定事件,支持Callbackprivate callback: Callback<emitter.GenericEventData

    19300编辑于 2025-06-28
  • 来自专栏Czy‘s Blog

    Event对象

    Event对象 Event对象表示在DOM中出现的事件,在DOM中有许多不同类型的事件,其主要使用基于Event对象作为主接口的二次接口,Event对象本身包含适用于所有事件的属性和方法。 下面是主要基于Event接口的接口列表,需要注意的是,所有的事件接口名称都是以Event结尾的。 Event.prototype.defaultPrevented: 只读,返回一个布尔值,表示event.preventDefault()方法是否取消了事件的默认行为。 Event.prototype.srcElement: 旧版Internet Explorer对event.target的非标准别称,出于兼容原因,一些其他浏览器也支持此别称。 Event.prototype.isTrusted: 只读,表示事件是由浏览器(例如用户点击)发起的,还是由脚本(使用事件创建方法例如event.initEvent发出的。

    95510发布于 2021-02-25
  • 来自专栏互联网杂技

    Event Loop

    四、Event Loop 主线程从"任务队列"中读取事件,这个过程是循环不断的,所以整个的这种运行机制又称为Event Loop(事件循环)。 为了更好地理解Event Loop,请看下图(转引自Philip Roberts的演讲《Help, I'm stuck in an event-loop》)。 ? 六、Node.js的Event Loop Node.js也是单线程的Event Loop,但是它的运行机制不同于浏览器环境。 根据上图,Node.js的运行机制如下。 它将不同的任务分配给不同的线程,形成一个Event Loop(事件循环),以异步的方式将任务的执行结果返回给V8引擎。 (4)V8引擎再将结果返回给用户。 setImmediate方法则是在当前"任务队列"的尾部添加事件,也就是说,它指定的任务总是在下一次Event Loop时执行,这与setTimeout(fn, 0)很像。

    1.9K70发布于 2018-04-02
  • 来自专栏用户1175783的专栏

    # Event loop

    [TOC] ​ dart是一种单线程语言,异步模型主要是通过事件轮询(event loop)来实现,另外也提供了更高级的Isolate来支持多线程,通常用于计算比较耗时的操作。 # Event loop ​ dart中的事件轮询包含两种事件队列:MicroTask和 EventTask,其中经常使用的属于EventTask队列,MicroTask并不常用,也不推荐使用。 while (microTaskQueue.isNotEmpty){ //执行MicroTask队列 } if (eventQueue.isNotEmpty){ //执行Event Stream的运行原理: # MicroTask与EventTask的执行顺序对比: 下面有两段官方提供的代码足以搞懂他们的区别: https://dart.dev/articles/archive/event-loop #question-1 https://dart.dev/articles/archive/event-loop#question-2 # Isolate dart是一个单线程程序,在执行耗时的操作是会导致线程卡住

    2K30发布于 2019-09-10
  • 来自专栏python-爬虫

    Event事件

    07.07自我总结 Event事件 一.导入模块 from threading import Event 二.概念 线程间状态同步:即将一个任务丢到子进程中,这个任务将异步执行,如何获取到这个任务的执行状态 不能立即获取状态 就可以使用事件来完成状态同步 事件本质就是 一个标志 可以是False 或是True 特殊之处在于 其包含一个wait函数 可以阻塞当前线程 直到状态从False变为True 三.Event 对象的方法 event.isSet():返回event的状态值 event.wait():将阻塞线程;知道event的状态为True,会执行下去 event.set(): 设置event的状态值为True ,所有阻塞池的线程激活进入就绪状态, 等待操作系统调度 event.clear():恢复event的状态值为False。 四.简单应用 from threading import Thread,Event import time e = Event() #默认值为false #启动服务器任务 def start_server

    1.2K30发布于 2019-07-24
  • 来自专栏深入浅出区块链技术

    View & Event

    本文由 Reach X 1Circle Winter Camp 的 Dark Key 队伍编写,Ivan[1]发布 View & Event View和Event都在应用初始化阶段定义。 在 DApp 中,此应用程序参数的结果称为 Event 对象。 Event 对象 原文链接[9] Logger.log(4, x); 如果 Event 是一个事件对象,那么它的字段就是相关事件的元素。这些字段中的每一个都是一个函数,其域由事件接口指定。 /blob/main/Event/index.mjs [11] index.rsh: https://github.com/Reach-Winter-Camp/View-Event/blob/main/ Event/index.rsh [12] index.txt: https://github.com/Reach-Winter-Camp/View-Event/blob/main/Event/index.txt

    95320编辑于 2022-02-22
  • 来自专栏HarmonyOS知识集合

    【HarmonyOS NEXT】EventHub和Emitter的使用场景与区别

    private event: emitter.InnerEvent = { eventId: this.eventId, priority: emitter.EventPriority.LOW private callback = (eventData: emitter.EventData): void => { }; emitter.emit(this.event, eventData ); emitter.once(this.event, this.callback) emitter.off(this.event.eventId, this.callback);**详情参见官网 = 1; private event: emitter.InnerEvent = { eventId: this.eventId, priority: emitter.EventPriority.LOW 不需要手动off emitter.once(this.event, this.callback) } private unRegisterByEmitter(){ emitter.off

    59500编辑于 2025-03-26
  • 来自专栏跟着阿笨一起玩NET

    事件(Event

    事件(Event) 事件是对象发送的消息,以发信号通知操作的发生。操作可能是由用户交互(例如鼠标单击)引起的,也可能是由某些其他的程序逻辑触发的。引发事件的对象称为事件发送方。 4:用event关键字定义事件对象,它同时也是一个delegate对象。 5:用+=操作符添加事件到事件队列中(-=操作符能够将事件从队列中删除)。 class Control {     public delegate void SomeHandler(object sender, System.EventArgs e);     public event     private void ResponseSomeEvent(object sender, EventArgs e)     {         Console.WriteLine("Some event

    1.2K20发布于 2018-09-18
  • 来自专栏Porschev[钟慰]的专栏

    Nodejs学习笔记(二)--- 事件模块

    如何访问: require('events'); emitter.on(event, listener) ? emitter.emit(event, [arg1], [arg2], [...]) emitter.once(event, listener) ? emitter.removeListener(event, listener) 先来看一个失败的场景~~~ ? (比较暴力的方法一般要慎用~~) emitter.listeners(event) ?

    1.5K80发布于 2018-01-16
  • 来自专栏前端博客

    vue2升级vue3: Event Bus 替代方案

    This could be used to create an event bus to create global event listeners used across the whole application $on('custom-event', () => {//TODO})eventBus. the event emitter interface, for example mitt or tiny-emitter.所以只能找第三方库,官方推荐有2个,特意对比了下mitt vs tiny-emitterhttps 看官方代码案例是tiny-emitter$emit 目前只能从子组件向父组件传值了,event Bus 只有借助第三方库了// eventBus.jsimport emitter from 'tiny-emitter ://javascript.tutorialink.com/vue-3-event-bus-with-composition-api/转载本站文章《vue2升级vue3: Event Bus 替代方案—

    2K20编辑于 2022-07-30
  • 来自专栏鸿蒙

    HarmonyOS NEXT跨多个组件之间如何进行数据通信

    Lowlet event: emitter.InnerEvent = { eventId: 1, priority: emitter.EventPriority.LOW};let eventData eventDataemitter.emit(event, eventData);订阅事件import { emitter } from '@kit.BasicServicesKit';import { : emitter.InnerEvent = { eventId: 1};// 收到eventId为1的事件后执行该回调,这里就是编写其他函数let callback = (eventData: emitter.EventData promptAction.showToast({ message: JSON.stringify(eventData) }); hilog.info(DOMAIN_NUMBER, TAG, 'event callback:' + JSON.stringify(eventData));};// 订阅eventId为1的事件,接收到数据后,立刻触发回调函数emitter.on(event, callback

    36410编辑于 2024-12-27
  • 来自专栏码农编程进阶笔记

    基于SpringBoot3实现SSE(Server send event)服务端消息推送实战

    SSE是使用text/event-stream格式发送的,浏览器会自动将数据解析为事件。服务端只能单向的推送事件到客户端,客户端不能发送消息到服务端。 userId='+id,{ }); eventSource.addEventListener("message", (event) => { console.log(event); }); 后端 1 ().forEach(emitter -> { try { doSend(emitter,message); } catch throws IOException { Set<ResponseBodyEmitter.DataWithMediaType> dataWithMediaTypes = SseEmitter.event throws IOException { Set<ResponseBodyEmitter.DataWithMediaType> dataWithMediaTypes = SseEmitter.event

    1.1K10编辑于 2025-08-25
  • 来自专栏乱码李

    vue2 组件通信——使用 dispatch 和 broadcast

    代码地址放在 element-ui/lib/mixins/emitter emitter.js "use strict"; exports. from 'element-ui/lib/mixins/emitter' import event from 'mixins/event' export default { componentName : 'Fuck', mixins: [Emitter, event], data () { return { name: 'Fuck', textarea: '' import Emitter from 'element-ui/lib/mixins/emitter' export default { mixins: [Emitter], methods 完整代码地址 vue 组件通信方式总结 父组件向子组件传递信息使用 props down 子组件向父组件传递信息使用 event up 其它关系类型组件通信使用 global event bus 大型

    2.6K20发布于 2021-11-26
  • 来自专栏FECoding

    浅谈 Composition Event

    Composition Event,中文译为复合事件,是 DOM 3 级事件中新添加的一类事件类型,用于处理 IME 的输入序列。

    1.8K20发布于 2019-04-25
  • 来自专栏全栈者

    细谈 Event Loop

    这里的异步准确的说应该叫浏览器的event loops或者说是javaScript运行环境的event loops,因为ECMAScript中没有event loops,event loops是在HTML event loop event loop翻译出来就是事件循环,可以理解为实现异步的一种方式,我们来看看event loop在HTML Standard中的定义章节: 第一句话: 为了协调事件,用户交互 进一步了解event loops 知道了event loops大致做什么的,我们再深入了解下event loops。 有两种event loops,一种在浏览器上下文,一种在workers中。 event loop 总是具有至少一个浏览器上下文,当一个event loop的浏览器上下文全都销毁的时候,event loop也会销毁。一个浏览器上下文总有一个event loop去协调它的活动。 Worker的event loop相对简单一些,一个worker对应一个event loop,worker进程模型管理event loop的生命周期。

    2.1K30发布于 2019-10-09
  • 来自专栏技术进阶

    Lumen event 与 PHP7 扩展 event 出现冲突

    lumen event 与 php7 扩展 event 冲突 系统报错日志 [2020-03-17 15:27:37] lumen.ERROR: ErrorException: Cannot declare class Event, because the name is already in use in /home/web/vendor/laravel/lumen-framework/src/Application.php ', 'Event') #2 /home/web/vendor/laravel/lumen-framework/src/Application.php(631): LaravelLumenApplication , 'IlluminateSupportFacadesDB' => 'DB', 'IlluminateSupportFacadesEvent' => 'Event

    73520编辑于 2021-12-24
领券